VoIP

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Загальна схема роботи інтернет-телефонії
1140E VoIP Phone

VoIP (англ. voice over IP — голос через IP) — технологія передачі медіа-даних у реальному часі за допомогою сімейства протоколів TCP/IP. IP-телефонія — система зв'язку, в якій аналоговий звуковий сигнал абонента дискретизується (кодується в цифрову форму), компресується й пересилається цифровими каналами зв'язку до іншого абонента, де проводиться зворотня операція — декомпресія, декодування й відтворення аналогового сигналу.

Протоколи

[ред. | ред. код]

Частина протоколів із сімейства VoIP затверджується Інтернет-співтовариством як RFC (англ. request for comments), частина — міжнародними організаціями (IETF тощо).

Основу технології VoIP складає протокол RTP (англ. real time protocol — протокол реального часу) RFC 1889 чи RFC 3550, надбудований над протоколами UDP/IP, а також протоколи (методи) кодування медіа-даних (для кодування голосу — це протоколи G.711, G.723, G.729, GSM, Speex та інші, для кодування відео — протоколи RFC ???).

Існують розширення (профілі) протоколу RTP, наприклад, SRTP (secure RTP), (RFC 1890, RFC 2198, RFC 3711 тощо).

Протоколи IP-телефонії

[ред. | ред. код]
SIP та SCCP телефони

Протоколи забезпечують реєстрацію IP-пристрою (шлюз, термінал або IP-телефон) на сервері або гейткіпері провайдера, виклик і/або переадресацію виклику, встановлення голосового з'єднання, передачу імені і/або номера абонента. Зараз широкого поширення набули такі протоколи VoIP:

  • SIP — забезпечує передачу голосу, для сигналізації зазвичай використовує порт 5060 UDP;
  • H.323 — протокол, більш прив'язаний до систем традиційної телефонії, ніж SIP, сигналізація — через порт 1720 TCP;
  • IAX2 — через 4569 UDP-порт передаються і сигналізація, і медіа;
  • MGCP;
  • SIGTRAN;
  • SCTP;
  • SGCP;
  • Skinny/SCCP;
  • Unistim — закритий протокол передачі сигнального трафіку в продуктах компанії Nortel.

Кодування мовної інформації

[ред. | ред. код]

Джерело інформаційних даних — мовний сигнал, можливою моделлю якого є нестаціонарний випадковий процес. У першому наближенні можна виділити такі типи сигнальних фрагментів: вокалізування, невокалізування, перехідні і паузи. При передачі мови в цифровій формі кожен тип сигналу при одній і тій же тривалості й однаковій якості вимагає різного числа біт для кодування q передачі. Отже, швидкість передачі різних типів сигналу також може бути різною, що обумовлює застосування кодеків зі змінною швидкістю. В результаті передача мовних даних у кожному напрямі дуплексного каналу розглядається як передача асинхронних логічно самостійних фрагментів цифрових послідовностей (транзакцій) з датаграмною синхронізацією усередині транзакції, наповненої блоками різної довжини.

У основі кодека мови зі змінною швидкістю лежить класифікатор вхідного сигналу, що визначає ступінь його інформативності і, таким чином, задає метод кодування і швидкість передачі мовних даних. Найпростішим класифікатором мовного сигналу є VAD (англ. Voice Activity Detector, детектор мовної активності), який виділяє у вхідному мовному сигналі активну мову і паузи. Фрагменти сигналу, що класифікуються як активна мова, кодуються якимось із відомих алгоритмів (як правило, на базі методу Code Excited Linear Prediction — CELP) із базовою швидкістю 4 — 8 кбіт/с. Фрагменти, класифіковані як паузи, кодуються й передаються з низькою швидкістю (порядку 0.1 — 0.2 Кбіт/с) або не передаються взагалі. Коли спрацьовує VAD, на приймальній стороні може автоматично генеруватися так званий «комфортний шум», щоб у співбесідника не виникало відчуття пропажі зв'язку. При цьому надається перевага передачі мінімальної інформації про фрагменти пауз. Ця стратегія дозволяє оптимізувати швидкість кодування до 2 — 4 кбіт/с при достатній якості мови, що синтезується. При цьому для особливо критичних фрагментів мовного сигналу виділяється велика швидкість передачі, для менш відповідальних — менша.

Вокодер вносить додаткову затримку порядку 15 — 45 мс, що виникає з таких причин:

  • використання буфера для накопичення сигналу й обліку статистики подальших відліків (алгоритмічна затримка);
  • математичні перетворення, що виконуються над мовним сигналом, вимагають процесорного часу (обчислювальна затримка).

Цю затримку необхідно враховувати при розрахунках повних затримок. Проведений у різних дослідницьких групах аналіз якості передачі мовних даних через мережу Інтернет показує, що основним джерелом виникнення спотворень, зниження якості й розбірливості синтезованої мови є переривання потоку мовних даних, викликане:

  • втратами пакетів при передачі через мережу зв'язку;
  • перевищенням допустимого часу доставки пакету з мовними даними.

Це вимагає вирішення задачі оптимізації затримок у мережі й створення алгоритмів компресії мови, стійких до втрат пакетів (із відновленнями втрачених пакетів).

Кодеки

[ред. | ред. код]

Відкриті:

  • GSM
  • G.711 uLaw інакше (Mu-law)
  • G.711 aLaw
  • G.722
  • G.726
  • Speex
  • iLBC

Пропрієтарні:

  • G.729
  • G.729A
  • G.723
  • G.723.1

Декодування мовної інформації

[ред. | ред. код]

Для відновлення мовного потоку (з урахуванням можливих втрат пакетів у мережі) на приймальній стороні використовується протокол реального часу — Real Time Protocol (RTP). У заголовку цього протоколу, зокрема, передаються часова мітка й номер пакету. Ці параметри дозволяють при мінімальних затримках визначити порядок і момент декодування кожного пакету, а також інтерполювати втрачені пакети. Відновлена послідовність (із можливими пропусками як поодиноких пакетів, так і їх груп) поступає на декодер. Декодер має забезпечити відновлення мовної інформації, заповнення пауз фоновим шумом, а також ехо-компенсацію кодованого сигналу, виявлення й детектування телефонної сигналізації.

Історія

[ред. | ред. код]

Можливість передачі голосових повідомлень через мережу з пакетною комутацією вперше була реалізована в 1993 році. Ця технологія отримала назву VoIP (Voice over IP). Одним із окремих застосувань цієї технології є IP-телефонія — послуга передачі телефонних розмов абонентів засобом протоколу IP.

Переваги та недоліки

[ред. | ред. код]

Основними перевагами технології VoIP є скорочення необхідної смуги пропускання каналу передачі, що забезпечується обліком статистичних характеристик мовного трафіку:

  • блокуванням передачі пауз (діалогових, складових, смислових і ін.), які можуть складати до 40 — 50 % часу зайнятості каналу;
  • високою надмірністю мовного сигналу і його стисненням (без втрати якості при відновленні) до рівня 20 — 40 % початкового сигналу.

З іншого боку, трафік VoIP критичний до затримок пакетів у мережі, але толерантний (стійкий) щодо втрат окремих пакетів. Так втрата до 5 % пакетів не призводить до погіршення розбірливості мови.

Протокол TLS

[ред. | ред. код]

TLS (Transport Layer Security) — це протокол шифрування, розроблений для захисту / шифрування SIP-повідомлень, що відправляються програмним телефоном або УАТС. Він захищає зв'язок, який відбувається між додатком (зазвичай вашим браузером) та сервером.[1]

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. Кращі практики для захисту ваших дзвінків VoIP: Протокол TLS. Архів оригіналу за 1 жовтня 2020.

Посилання

[ред. | ред. код]